cf - character format
Abgeleitet von esc-Sequenzen für Drucker ist eine Art Script-Sprache entstanden.
Sie spart sich den Format Layer, glänzt aber nicht durch Übersichtlichkeit. Genau so wie bei Html.
esc-Sequenz eine
Abfolge von einzelnen Zeichen, eingeleitet vom esc-Zeichen (char27),
das dem Drucker klar macht, dass jetzt eine Steuersequenz folgt.
c( c für char
] tabs
{ 1D Barcodes {B.., Prüfziffer Esr {p.., Iban/QrIban {n.., drawlist index {d..
leiten die Steuer-Sequenz ein
- c(B) Bold
- c(It) Italic
- c(BI) BoldItalic
- c() Style Off - bold, italic, bold-italic auflösen zu normal
- c(R) Reverse writeback from right to left
- ]c(nnn) Tab ] Definition: 1 Tab = 1/8inch = ca 3mm
sample: tabs
]c(12)TEXTA c(R) 1000c(20)]
]c(12)TEXTB c(R) 1c(20)]
result:
TEXTA 1000
TEXTB 1
- c(Fn) fontName
- C(ourier default), A(rial), T(imes New Roman), O(cr) or
- .Name.
sample: change fontname to Arialc(Fn)A
sample: to Verdana size9, back to Courier size10c(Fn).Verdana.c(Fs)c(9) TEXT c(Fn)Cc(Fs)c(10)
- c(Fs)c(nn) fontSize (default=10)
sample: set Size12 • back to Size10c(Fs)c(12) TEXT c(Fs)c(10)
Drawing line, rectangle, picture
in Layout define {dIndex} starting with 0,
sample: {d0} (drawlist index 0)
in Drawlist define:
line : x,y,width(in tabs),boldness +10 white line (to cover)
rectangle: x,y,width(in tabs, 0=vert.line),heigth(px),boldness
picture : x,y,width(in tabs),heigth(px),path+filename of picture
Barcodes
1D: {b value_field, left in_tabs, height, width}
- old component, from v8.73 on in compatibility mode with new component.
1D: {B value_field, left in_tabs, height, width, bottomOut}
- bottomOut 0 (default)
- Ziffernreihe ist in 6er Blöcke gruppiert, die Bars/Balken ragen in die Lücken
- bottomOut 1
- Ziffernreihe ist nicht gruppiert, im Zahlenbereich befinden sich keine Bars/Balken
Esr Prüfziffer {p}
12345678{p08b} len = 8 b = Block 5 Darstellung (depricated)
Iban/QrIban {n}
CH5800791123000889012(len 21) -> CH58 0079 1123 0008 8901 2{n21b}
len = 21 b = Block 4 Darstellung
Bemerkung
line {: remark
Felder
?:<TEXT1>\<TEXT2>
Kopie
C: O R I G I N A L \c(B)K O P I Ec()
Seite mod 2 = 1 then 1. Teil else 2. Teil
Seite1 = Original
Seite2 = Kopie
Seite3 = Original
usf.
Last only
L:Report Fr.\ TOTAL Fr.
1..n-1 = Report
n = Total
ab 2. Seite
2:Seite1\Seite2 und ff.
1 = Seite1
2..n= Seite2 und ff.
Funktionen
- (fct8) Related text: ein Datenfeld ist mit einem Textfeld verhängt
Syntax Textfeld
"(1) if Datenfeld NICHT LEER\(2) else Datenfeld LEER[< TextEnd][nn+]" {nn= max 60 blanks}
ohne Längendeklaration
Textfeld "Rabatt -%\ " Lücke für Daten
Datenfeld ='12' Textfeld "Rabatt -12%" (1)
Datenfeld ='' Textfeld " " (2)
da keine Längendeklaration ist Text (1) und (2) gleich lang
mit Längendeklaration
Textfeld "Rabatt -**%\kein Rabatt <"
Datenfeld ='12' Textfeld "Rabatt -12%" (1)
Datenfeld ='' Textfeld "kein Rabatt " (2)
mit Längendeklaration +zusätzlichen 19 blanks
Textfeld "Rabatt -**%\kein Rabatt<19+"
Datenfeld ='12' Textfeld "Rabatt -12%" (1)
Datenfeld ='' Textfeld "kein Rabatt " (2)
Extras
Ausgabe auf Textfile
Um die Zeilenlänge 120 zu überschreiten: am Ende der Zeile {->txt}
27. Februar 2017 - 1. Veröffentlichung 1991 - genaueres Datum müsste auf Folien stehen
© bmz 1989-2026